// let filePath = '';   // 默认文件路径
// let TimeStamp = '';  // 时间戳
// let Version = '-V1.0.0-'; // 版本号
// // 定义 renameCssPlugin 插件
// const renameCssPlugin = {
//   apply: compiler => {
//     compiler.hooks.afterEmit.tap('RenameCssPlugin', compilation => {
//       // 获取输出的文件列表
//       const assets = compilation.assets;

//       // 遍历找到所有的 CSS 文件
//       Object.keys(assets).forEach(filename => {
//         if (filename.endsWith('.css')) {
//           // 生成一个新的文件名，例如添加时间戳或者版本号
//           const newFilename = `${filename.split('.css')[0]}-${Date.now()}.css`;

//           // 重命名文件
//           assets[newFilename] = assets[filename];
//           delete assets[filename];
//         }
//       });
//     });
//   }
// }

// module.exports = {
//   configureWebpack: config => {
//     if (process.env.UNI_PLATFORM === 'h5') {
//       filePath = 'static/js/';
//       TimeStamp = new Date().getTime();
//       config.output.filename = `${filePath}[name]${Version}${TimeStamp}.js`; // static/js/index-V2.0.0-1623123456789.js
//       config.output.chunkFilename = `${filePath}[name]${Version}${TimeStamp}.js`; // static/js/pages-home-index-V2.0.0-1623123456789.js
//     }
//   },
//   // chainWebpack: config => {
//   //   config.plugin('renameCSSFiles').use({
//   //     apply: compiler => {
//   //       compiler.hooks.afterEmit.tap('RenameCSSFilesPlugin', compilation => {
//   //         const buildDir = path.resolve(__dirname, 'dist'); // 替换为实际的打包输出目录
//   //         const cssFiles = fs.readdirSync(buildDir).filter(file => file.endsWith('.css'));

//   //         cssFiles.forEach(file => {
//   //           const oldPath = path.resolve(buildDir, file);
//   //           const newName = file.replace('.css', `_${getDateTimeString()}.css`);
//   //           const newPath = path.resolve(buildDir, newName);
//   //           fs.renameSync(oldPath, newPath);
//   //         });
//   //       });
//   //     }
//   //   });
//   // }
//   chainWebpack: config => {
//     // 自定义一个 webpack 插件
//     config.plugin('rename-css-plugin')
//       .use(renameCssPlugin); // renameCssPlugin 是自定义的插件，需要在下面定义

//     // 可以在这里进一步配置 webpack
//   }

// };

// vue.config.js
// const webpack = require('webpack')
// const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
  chainWebpack: config => {
    // 自定义 webpack 插件
    config.plugin('rename-assets-plugin')
      .use(renameAssetsPlugin); // 使用自定义插件 renameAssetsPlugin

    // 可以在这里进一步配置 webpack
  },
  chainWebpack: (config) => {
		// 发行或运行时启用了压缩时会生效
		config.optimization.minimizer('terser').tap((args) => {
			const compress = args[0].terserOptions.compress
			// 非 App 平台移除 console 代码(包含所有 console 方法，如 log,debug,info...)
			compress.drop_console = true
			compress.pure_funcs = [
				'__f__', // App 平台 vue 移除日志代码
				// 'console.debug' // 可移除指定的 console 方法
			]
			return args
		})
	}
  // configureWebpack: {
  //   plugins: [
  //     new UglifyJsPlugin({
  //       uglifyOptions: {
  //         compress: {
  //           drop_console: true, // 移除 console
  //         },
  //       },
  //     }),
  //   ],
  // },
};

// 定义 renameAssetsPlugin 插件
const renameAssetsPlugin = {
  apply: compiler => {
    compiler.hooks.afterEmit.tap('RenameAssetsPlugin', compilation => {
      // 获取输出的文件列表
      const assets = compilation.assets;

      // 遍历找到所有的 CSS 和 JS 文件
      Object.keys(assets).forEach(filename => {
        if (filename.endsWith('.css')) {
          // 生成一个新的 CSS 文件名，例如添加时间戳或者版本号
          const newFilename = `${filename.split('.css')[0]}-${Date.now()}.css`;
          assets[newFilename] = assets[filename];
          delete assets[filename];
        } else if (filename.endsWith('.js')) {
          // 生成一个新的 JS 文件名，例如添加时间戳或者版本号
          const newFilename = `${filename.split('.js')[0]}-${Date.now()}.js`;
          assets[newFilename] = assets[filename];
          delete assets[filename];
        }
      });
    });
  }
};
